home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Demos / OOFILE / Buildable, limited OOFILE / OOFILE headers / oofppx.hpp < prev    next >
Encoding:
Text File  |  1995-09-12  |  2.5 KB  |  127 lines  |  [TEXT/CWIE]

  1. // COPYRIGHT 1995 A.D. Software, All rights reserved
  2.  
  3. // Private interface of PowerPlant Integration layer of OOFILE database
  4.  
  5. #ifndef H_OOFPowerPlantX
  6. #define H_OOFPowerPlantX
  7.  
  8. #include "oofpp.hpp"
  9.  
  10. class dbCharLink2EditField : public dbFieldLink {
  11. public:
  12.     dbCharLink2EditField(dbChar* fld, LEditField* ctl) :
  13.                         mField(fld), 
  14.                         mLinkTo(ctl)
  15.                         {};
  16.     virtual void copyFieldToLink();
  17.     virtual void copyLinkToField();
  18.     
  19. private:
  20.     LEditField* mLinkTo;
  21.     dbChar* mField;
  22. };
  23.  
  24.  
  25. class dbCharLink2TextEdit : public dbFieldLink {
  26. public:
  27.     dbCharLink2TextEdit(dbChar* fld, LTextEdit* ctl) :
  28.                         mField(fld), 
  29.                         mLinkTo(ctl)
  30.                         {};
  31.     virtual void copyFieldToLink();
  32.     virtual void copyLinkToField();
  33.  
  34. private:
  35.     LTextEdit* mLinkTo;
  36.     dbChar* mField;
  37. };
  38.  
  39.  
  40. class dbTextLink2TextEdit : public dbFieldLink {
  41. public:
  42.     dbTextLink2TextEdit(dbText* fld, LTextEdit* ctl) :
  43.                         mField(fld), 
  44.                         mLinkTo(ctl)
  45.                         {};
  46.     virtual void copyFieldToLink();
  47.     virtual void copyLinkToField();
  48.  
  49. private:
  50.     LTextEdit* mLinkTo;
  51.     dbText* mField;
  52. };
  53.  
  54.  
  55. class dbLongLink2EditField : public dbFieldLink {
  56. public:
  57.     dbLongLink2EditField(dbLong* fld, LEditField* ctl) :
  58.                         mField(fld), 
  59.                         mLinkTo(ctl)
  60.                         {};
  61.     virtual void copyFieldToLink();
  62.     virtual void copyLinkToField();
  63.     
  64. private:
  65.     LEditField* mLinkTo;
  66.     dbLong* mField;
  67. };
  68.  
  69.  
  70. class dbShortLink2EditField : public dbFieldLink {
  71. public:
  72.     dbShortLink2EditField(dbShort* fld, LEditField* ctl) :
  73.                         mField(fld), 
  74.                         mLinkTo(ctl)
  75.                         {};
  76.     virtual void copyFieldToLink();
  77.     virtual void copyLinkToField();
  78.     
  79. private:
  80.     LEditField* mLinkTo;
  81.     dbShort* mField;
  82. };
  83.  
  84.  
  85. class dbDateLink2EditField : public dbFieldLink {
  86. public:
  87.     dbDateLink2EditField(dbDate* fld, LEditField* ctl) :
  88.                         mField(fld), 
  89.                         mLinkTo(ctl)
  90.                         {};
  91.     virtual void copyFieldToLink();
  92.     virtual void copyLinkToField();
  93.     
  94. private:
  95.     LEditField* mLinkTo;
  96.     dbDate* mField;
  97. };
  98.  
  99.  
  100. class dbBrowserDisplay { // abstract base to allow us to wrap different controls
  101. public:
  102.     dbBrowserDisplay() {};
  103.     virtual ~dbBrowserDisplay() {};
  104.     virtual void loadData()=0;
  105.     virtual void changeViewTo(dbView*)=0;
  106.     virtual const long selectedRow() const=0;
  107. };
  108.  
  109.  
  110. class dbListBoxDisplay : public dbBrowserDisplay {
  111. public:
  112.     dbListBoxDisplay(LListBox* theLB, dbView* theView=0);
  113.     virtual ~dbListBoxDisplay() {};
  114.     virtual void loadData();
  115.     virtual void changeViewTo(dbView*);
  116.     virtual const long selectedRow() const;
  117. private:
  118.     void DeleteAllData();
  119.     void LoadRow(const int row, bool insertTheRow=false);
  120.     void SetColWidths();
  121.     
  122.     LListBox* mDisplay;
  123.     dbView* mView;
  124.     bool mLoadedData;
  125. };
  126.  
  127. #endif